/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.bus.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.thinkgem.jeesite.common.persistence.CrudDao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.bus.entity.Vaccine;

/**
 * 疫苗补助DAO接口
 * @author zhangxingliang
 * @version 2019-06-10
 */
@MyBatisDao
public interface VaccineDao extends CrudDao<Vaccine> {

    /**
     * 
     * @Title: provinceRejectList
     * @author: sy
     * @date: 2019年06月11日 9:14
     * @Description: 省级驳回记录
     * @param vaccine
     * @return: java.util.List<com.thinkgem.jeesite.modules.bus.entity.Vaccine>
     */
    List<Vaccine> provinceRejectList(Vaccine vaccine);

    /**
     *
     * @Title: provinceVaccineList
     * @author: sy
     * @date: 2019年06月11日 16:37
     * @Description: 省级补助记录
     * @param vaccine
     * @return: java.util.List<com.thinkgem.jeesite.modules.bus.entity.Vaccine>
     */
    List<Vaccine> provinceVaccineList(Vaccine vaccine);

    /**
     *
     * @Title: vaccineView
     * @author: sy
     * @date: 2019年06月13日 9:03
     * @Description: 查询补助基本信息（查看页）
     * @param vaccine
     * @return: com.thinkgem.jeesite.modules.bus.entity.Vaccine
     */
    Vaccine findVaccineBasic(Vaccine vaccine);
    /**
     *
     * @Title: vaccineView
     * @author: mengying
     * @date: 2019年06月13日 15:03
     * @Description: 补助待审核页
     * @param vaccine
     * @return: com.thinkgem.jeesite.modules.bus.entity.Vaccine
     */

    public List<Vaccine> vaccineUncheckedList(Vaccine vaccine);
    /**
     *
     * @Title: vaccineView
     * @author: mengying
     * @date: 2019年06月13日 15:03
     * @Description: 补助已审核页
     * @param vaccine
     * @return: com.thinkgem.jeesite.modules.bus.entity.Vaccine
     */

    public List<Vaccine> vaccineCheckedList(Vaccine vaccine);
    /**
     *
     * @Title: vaccineView
     * @author: mengying
     * @date: 2019年06月13日 15:03
     * @Description: 补助记录查看
     * @param vaccine
     * @return: com.thinkgem.jeesite.modules.bus.entity.Vaccine
     */

    public List<Vaccine> vaccineRecord(Vaccine vaccine);
    /**
     *
     * @Title: vaccineView
     * @author: mengying
     * @date: 2019年06月14日 15:03
     * @Description: 补助改变审核状态
     * @return: com.thinkgem.jeesite.modules.bus.entity.Vaccine
     */
    public void updateVaccineStatus(@Param("id") String id, @Param("auditStatus") String auditStatus, @Param("updateDate") String updateDate);


    /**
     * @Author zhangxingliang
     * @Description app 端获取疫苗补助列表
     * @Date 9:44 2019/6/18
     **/
    public List<Vaccine> appVaccineList(Vaccine vaccine);

    /**
     * @Author zhangxingliang
     * @Description 获取疫苗补助信息及审核状态
     * @Date 10:24 2019/6/19
     **/
    public Vaccine getInfoAndAudit(@Param("id") String id);
    /**
     * @author Zhang Xingliang
     * @description 删除app端被驳回疫苗补助列表，修改status=0
     * @date 17:16 2019/6/26
     * @params [id]
     * @return void
     **/
    public void deleteAppVaccine(@Param("id") String id);

    /**
     * @author Zhang Xingliang
     * @description 疫苗补助发票唯一校验
     * @date 17:14 2019/7/24 0024
     * @param invoiceNo
     * @return java.util.Map<java.lang.String,java.lang.Object>
     **/
    public Integer checkInvoice(@Param("invoiceNo") String invoiceNo);

    /**
    *@Title:updateState
    *@Author: zyj
    *@Date: 2019/8/11 17:06
    *@Description: 发票验真修改发票状态
    *@Param: [vaccine]
    *@Return: void
    */
    void checkInvoiceUpdate(Vaccine vaccine);
}